Conventional disk drives with magnetic media organize data in concentric tracks that are spaced apart. The concept of shingled writing is a form of magnetic recording and has been proposed as a way of increasing the areal density of magnetic recording. In shingle-written magnetic recording (SMR) media a region (band) of adjacent tracks are written so as to overlap one or more previously written tracks. SMR recording technology assumes that the effective writing path of the write head is wider than the track pitch. The shingled tracks must be written in sequence unlike conventionally separated tracks, which can be written in any order. Shingled-tracks on an SMR disk surface are organized into a plurality of shingled regions, which are also called I-regions. Once written in the shingled structure, an individual track or sector cannot be updated in place, because that would overwrite and destroy the overlapping tracks. SMR drives can also include non-shingled regions that are written in non-overlapping structure so that individual tracks and sector can be updated in place, which is convenient for staging some data records before they are written to a shingled region. So-called E-regions (exception regions) are used for short term storage, caching or staging data that will ultimately be written to a shingled region. SMR drives rely on indirection mapping that to links logical block addresses (LBAs) to physical block addresses (PBAs). For example, when a data sector corresponding to a particular LBA is moved from an E-region to an I-region, the indirection mapping is updated.
ECC in disk drives is used to detect and correct errors and erasures, which occur when a data element is missing or known to be faulty. Traditionally ECC is performed on a sector basis using redundant bits appended to the sector data when it is written. Simple error detection capability for each sector can be achieved by including check symbols appended to the data in each sector. These sector ECC approaches are not ideal for some disk drive applications such as streaming audio-video (AV) and the SMR architecture presents additional ECC problems.
US patent application 20110075292 by Richard New, et al. (Mar. 31, 2011) describes SMR drives in which a band establishes a respective segment in a log-structured file system. Large error correction (ECC) block sizes within each segment (band) are implemented by storing the intermediate ECC parity state after each partial write of an ECC block. In this case, the ECC block size spans multiple physical sectors, and because of the larger ECC block size the error correction code is more efficient and able to correct larger defect errors on the disk. The ECC code may be implemented in a number of different ways which are known to those skilled in the art of designing ECC codes.
U.S. Pat. No. 7,490,212 to Kasiraj, et al. (Feb. 10, 2009) describes ECC for an SMR drive that is useful for recording and playback of video data in transaction data blocks larger than the conventional 512 byte block size but smaller than the band size. Large physical sectors can be used to improve format efficiency, and large ECC codeword sizes (larger than the transaction block size) can be used to improve reliability without imposing a read-modify-write performance on the system. To do this, the disk drive saves the cumulative ECC parity state between successive partial writes of each transaction block so that the parity computed in a first write operation is used to generate the parity for a subsequent write operation. For example, a transaction block size might be one megabyte, and the ECC might span the entire band. Each time a transaction block is written, gradually filling up the band, the cumulative parity state for the ECC is maintained, so that at the end of the last transaction block in that band, the ECC parity can be written out. This provides a very long ECC block size and therefore a very efficient ECC code which is resilient to defects and errors. The ECC code could be very simple, such as a single parity sector computed by XORing all of the data in the physical sectors in the band. This provides protection against a single sector failure within the band. However, using XORing the error correction block is a parity sector that can only correct one data block and is not scalable.
Published patent application 20110096828 (Apr. 28, 2011) by Ying Chen, et al. describes a system with encoding and decoding blocks with multiple independent scalability layers. The Forward Error Correction (FEC) is assumed to be applied to a “block” or “fragment” of data at a time, i.e., a “block” is a “source block” for FEC encoding and decoding purposes. A client device can use the segment indexing described herein to help to determine the source block structure of a segment. The FEC codes considered for use with block-request streaming are typically systematic FEC codes, i.e., the source symbols of the source block may be included as part of the encoding of the source block and thus the source symbols are transmitted. A systematic FEC encoder generates, from a source block of source symbols, some number of repair symbols and the combination of at least some of the source and repair symbols are the encoded symbols that are sent over the channel representing the source block. Some FEC codes may be useful for efficiently generating as many repair symbols as needed, such as “information additive codes” or “fountain codes” and examples of these codes include “chain reaction codes” and “multi-stage chain reaction codes”. Other FEC codes such, as Reed-Solomon codes may practically only generate a limited number of repair symbols for each source block.
Hard disk drive (HDD) archival applications such as so called “cold-storage” refer to data that is stored for various reasons but is rarely ever read again. For these applications the HDD design tradeoffs between density of storage, access speed, etc. are different than for HDDs used for data that is frequently read. Shingled Magnetic Recording (SMR) designs are particularly suitable and cost effective for cold storage. HDD archival applications such as “cold-storage” require increased capacities, which are obtained by increasing the tracks per inch (TPI). Data integrity that guarantees accurate data retrieval is also a requirement. These are conflicting requirements, because TPI increases by squeezing the width of the tracks, which invariably results in increasing the number of unreadable data sectors. For example, writing a second track in a sequence can narrow the magnetic width of portions of the first adjacent track so that these portions are no longer readable. This type of error is known as a squeeze-error and “squeezed sectors”are equivalently “erased sectors.”